<?php

namespace common\models;

use Yii;

/**
 * 这是表 `login_info` 的模型
 */
class LoginInfo extends \common\components\ARModel
{
    public function rules()
    {
        return [
            [['user_id'], 'integer'],
            [['created_at'], 'safe'],
            [['country', 'province', 'city', 'ip'], 'string', 'max' => 100]
        ];
    }

    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'user_id' => 'User ID',
            'country' => '国',
            'province' => '省',
            'city' => '市',
            'ip' => 'Ip',
            'created_at' => 'Created At',
        ];
    }

    /****************************** 以下为设置关联模型的方法 ******************************/

    public function getUser()
    {
        return $this->hasOne(User::className(), ['id' => 'user_id']);
    }

    /****************************** 以下为公共显示条件的方法 ******************************/

    public function search()
    {
        $this->setSearchParams();

        return self::find()
            ->filterWhere([
                'loginInfo.id' => $this->id,
                'loginInfo.user_id' => $this->user_id,
            ])
            ->andFilterWhere(['like', 'loginInfo.country', $this->country])
            ->andFilterWhere(['like', 'loginInfo.province', $this->province])
            ->andFilterWhere(['like', 'loginInfo.city', $this->city])
            ->andFilterWhere(['like', 'loginInfo.ip', $this->ip])
            ->andFilterWhere(['like', 'loginInfo.created_at', $this->created_at])
            ->andTableSearch()
        ;
    }

    /****************************** 以下为公共操作的方法 ******************************/

    

    /****************************** 以下为字段的映射方法和格式化方法 ******************************/
}
